TOP

SQL Server에 대한 SQL Stored Procedures

Stored Procedure이란 무엇입니까?

Stored Procedure(저장 프로시저)은 코드를 반복해서 사용할 수 있도록 저장할 수 있는 준비된 SQL 코드입니다.

따라서 반복해서 작성하는 SQL 쿼리가 있는 경우 이를 저장 프로시저로 저장한 다음 호출하여 실행하면 됩니다.

저장 프로시저가 전달된 매개 변수 값에 대해 작업을 수행할 수 있도록 저장 프로시저에 매개 변수를 전달할 수도 있습니다.


Stored Procedure 구문

CREATE PROCEDURE procedure_name
AS 
sql_statement
GO

Stored Procedure 실행 중

EXEC procedure_name

데모 데이터베이스

다음은 "Northwind" 데이터베이스의 "Customers"("고객") 테이블의 샘플입니다.

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Stored Procedure 예

다음 SQL 쿼리는 Customers 테이블에서 모든 레코드를 선택하는 "SelectAllCustomers"이라는 저장 프로시저를 만듭니다.

CREATE PROCEDURE SelectAllCustomers
AS
SELECT * FROM Customers
GO

위의 저장 프로시저를 다음과 같이 실행해 보겠습니다.

EXEC SelectAllCustomers

Stored Procedure(하나의 매개변수 포함)

다음 SQL 쿼리는 고객 테이블에서 특정 도시의 고객을 선택하는 저장 프로시저를 만듭니다.

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30)
AS
SELECT * FROM Customers WHERE City = @City
GO

위의 저장 프로시저를 다음과 같이 실행해 보겠습니다.

EXEC SelectAllCustomers @City = 'London'

Stored Procedure 많은 매개변수 포함

여러 매개변수를 구성하는 것은 매우 쉽습니다. 즉, 아래와 같이 각 매개변수와 데이터 유형을 쉼표로 구분하여 나열합니다.

다음 SQL 문은 Customers 테이블에서 특정 우편 번호가 있는 특정 도시의 고객을 선택하는 저장 프로시저를 생성합니다.

CREATE PROCEDURE SelectAllCustomers @City nvarchar(30), @PostalCode nvarchar(10)
AS
SELECT * FROM Customers WHERE City = @City AND PostalCode = @PostalCode
GO

위의 저장 프로시저를 다음과 같이 실행해 보겠습니다.

EXEC SelectAllCustomers @City = 'London', @PostalCode = 'WA1 1DP'